package org.dtrd.modules.archive.entity.bean;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;

/**
 * @author zcli
 */
@ApiModel("糖尿病概况")
@Data
public class DtrdEntRdOverviewDTO implements Serializable {

    @ApiModelProperty(value = "概况记录id, 更新时需要传入")
    private Integer dataId;

    @NotNull
    @Min(value = 1)
    @ApiModelProperty(value = "患者id", required = true)
    private Integer patientId;

    @ApiModelProperty(value = "记录时间")
    private Date recordDate;

    @ApiModelProperty(value = "糖尿病类型：1-1型糖尿病,2-2型糖尿病,3-妊娠糖尿病,4-其他类型糖尿病,6-未诊断")
    private Integer diabetesType;

    @ApiModelProperty(value = "确诊日期")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    private Date diabetesDiagnoseDate;

    @ApiModelProperty(value = "起病特点Ids，多个用半角逗号隔开")
    private String diabetesOnsetSymptom;

    @ApiModelProperty(value = "起病特点其他")
    private String diabetesOnsetSymptomOther;

    @ApiModelProperty(value = "确诊情形", notes = "1-因有上述症状就医而确诊,2-因其他疾病就医而被发现,3-因健康体检而发现,4-因其他原因偶然发现")
    private String diabetesReason;

    @ApiModelProperty(value = "体重变化")
    private Float weightChange;

    @ApiModelProperty(value = "空腹血糖")
    private Float sugarFasting;

    @ApiModelProperty(value = "餐后血糖")
    private Float sugarAfterEat;

    @ApiModelProperty(value = "早餐前血糖")
    private Float sugarBreakfastBefore;

    @ApiModelProperty(value = "早餐后血糖")
    private Float sugarBreakfastAfter;

    @ApiModelProperty(value = "午餐前血糖")
    private Float sugarLunchBefore;

    @ApiModelProperty(value = "午餐后血糖")
    private Float sugarLunchAfter;

    @ApiModelProperty(value = "晚餐前血糖")
    private Float sugarSupperBefore;

    @ApiModelProperty(value = "晚餐后血糖")
    private Float sugarSupperAfter;

    @ApiModelProperty(value = "睡前血糖")
    private Float sugarSleepBefore;

    @ApiModelProperty(value = "夜间血糖")
    private Float sugarSleepAfter;

    @ApiModelProperty(value = "糖化血红蛋白")
    private Float hba1c;

    @ApiModelProperty(value = "早发性心血管疾病家族史")
    private Integer familyHistoryPrematureAngio;

    @ApiModelProperty(value = "2型糖尿病家族史")
    private Integer familyHistoryDiabetes2;

    @ApiModelProperty(value = "日血糖波动幅度")
    private Integer sugarWave;

    @ApiModelProperty(value = "是否确诊糖尿病")
    private Integer ifDiabetes;

    @ApiModelProperty(value = "体重变化情况")
    private Integer weightState;

    @ApiModelProperty("用药类型 0-未用药,1-口服药,2-胰岛素,3-口服药+胰岛素")
    private Integer drugType;

    @ApiModelProperty(value = "糖尿病概况是否完成")
    private Integer isFinished;

    @ApiModelProperty("口服药类型 1-二甲双胍单药 2-两种以上口服降糖药 3-其他")
    private Integer oralType;

    @ApiModelProperty("用药描述")
    private String drugDesc;

    @ApiModelProperty("过往治疗方案 1-生活方式干预 2-低碳饮食 3-药物治疗 4-其他")
    private Integer historyTreatment;

    @ApiModelProperty("治疗意愿 1-减脂 2-胰岛素治疗 3-其他")
    private Integer treatmentWill;

    @ApiModelProperty("发胖时段 1-幼年 2-成年 3-产后（女）")
    private Integer fatTime;

    @ApiModelProperty("肥胖年限")
    private Integer fatYear;

    @ApiModelProperty("肥胖类型 1-中心型（苹果型） 2-苹果型（梨型） 3-均匀型")
    private Integer fatType;

    @ApiModelProperty("临床问题 1-暂无 2-月经失调（女） 3-不孕（女） 2-阳痿（男） 3-不孕（男）")
    private Integer clinicalIssues;

}